Skip to content

GH-10058: Add SpEL JSON accessors and converter with Jackson 3 #10203

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jul 16, 2025

Conversation

anthologia
Copy link
Contributor

@anthologia anthologia commented Jul 14, 2025

Related to: #10058

  • Add JsonNodePropertyAccessor for reading JSON object properties
  • Add JsonArrayNodeIndexAccessor for array index access
  • Add JsonNodeWrapperConverter for type conversion between JsonNodeWrapper and JsonNode
  • Add EmbeddedJsonMessageHeadersMessageMapper for JSON message serialization with embedded headers
  • Deprecate Jackson 2 SpEL JSON accessors

I've prepared changes to deprecate other Jackson 2 classes and make 3 as the project default, but this involves several changes and discussion points. (I encountered an NPE in Jackson 3 logic that maybe needs to be fixed by the Jackson team, but I've implemented a workaround in our code.)

For this reason, I've kept it separate from the current Accessor PR and will address it in the upcoming PR.

…ackson 3

Related to: spring-projects#10058

* Add `JsonNodePropertyAccessor` for reading JSON object properties
* Add `JsonArrayNodeIndexAccessor` for array index access
* Add `JsonNodeWrapperConverter` for type conversion between `JsonNodeWrapper` and `JsonNode`
* Add `EmbeddedJsonMessageHeadersMessageMapper` for JSON message serialization with embedded headers
* Deprecate Jackson 2 SpEL JSON accessors

Signed-off-by: Jooyoung Pyoung <[email protected]>
* Adopt more intuitive naming for Jackson 3 migration
* Remove deprecated classes tests

Signed-off-by: Jooyoung Pyoung <[email protected]>
* Fix JavaDoc formatting and class visibility
* Restore all `@author` names and copyright years from original classes

Signed-off-by: Jooyoung Pyoung <[email protected]>
@artembilan artembilan added this to the 7.0.0-M1 milestone Jul 16, 2025
@artembilan artembilan merged commit b306919 into spring-projects:main Jul 16, 2025
3 checks passed
@anthologia anthologia deleted the GH-10058 branch July 18, 2025 06:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants